const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('./database.db');

// 初始化基础数据
const initData = () => {
    // 插入区域数据
    const areas = [
        { name: '教学楼A栋' },
        { name: '教学楼B栋' },
        { name: '办公楼' },
        { name: '学生宿舍' },
        { name: '食堂' }
    ];
    
    // 插入维修项目数据
    const repairItems = [
        // 教学楼A栋维修项目
        { area_id: 1, name: '更换日光灯管', specification: 'T8 36W', unit: '支', price: 25.00, remark: '普通教室照明' },
        { area_id: 1, name: '维修课桌椅', specification: '标准课桌椅', unit: '套', price: 80.00, remark: '木质课桌椅维修' },
        { area_id: 1, name: '更换门锁', specification: '教室门锁', unit: '个', price: 45.00, remark: '机械门锁' },
        { area_id: 1, name: '修补墙面', specification: '乳胶漆墙面', unit: '平方米', price: 15.00, remark: '墙面破损修补' },
        
        // 教学楼B栋维修项目
        { area_id: 2, name: '更换投影仪灯泡', specification: '专业投影仪灯泡', unit: '个', price: 350.00, remark: '多媒体教室设备' },
        { area_id: 2, name: '维修实验台', specification: '化学实验台', unit: '张', price: 200.00, remark: '实验室设备维修' },
        { area_id: 2, name: '更换水龙头', specification: '实验室专用水龙头', unit: '个', price: 65.00, remark: '实验室用水设备' },
        
        // 办公楼维修项目
        { area_id: 3, name: '更换空调滤网', specification: '中央空调滤网', unit: '片', price: 120.00, remark: '办公室空调维护' },
        { area_id: 3, name: '维修办公桌', specification: '钢制办公桌', unit: '张', price: 150.00, remark: '办公家具维修' },
        { area_id: 3, name: '更换窗帘', specification: '办公室遮光窗帘', unit: '套', price: 180.00, remark: '办公环境改善' },
        
        // 学生宿舍维修项目
        { area_id: 4, name: '维修床铺', specification: '学生宿舍床铺', unit: '张', price: 100.00, remark: '宿舍家具维修' },
        { area_id: 4, name: '更换水管', specification: 'PPR水管', unit: '米', price: 12.00, remark: '宿舍供水管道' },
        { area_id: 4, name: '修理电路', specification: '宿舍照明电路', unit: '处', price: 80.00, remark: '电路故障维修' },
        
        // 食堂维修项目
        { area_id: 5, name: '清洗油烟机', specification: '大型油烟机', unit: '台', price: 300.00, remark: '厨房设备维护' },
        { area_id: 5, name: '维修餐桌', specification: '不锈钢餐桌', unit: '张', price: 120.00, remark: '就餐设备维修' },
        { area_id: 5, name: '更换地砖', specification: '防滑地砖', unit: '平方米', price: 35.00, remark: '地面维修' }
    ];
    
    console.log('开始初始化数据...');
    
    // 插入区域数据
    const insertArea = db.prepare('INSERT INTO areas (name) VALUES (?)');
    areas.forEach((area, index) => {
        insertArea.run(area.name, function(err) {
            if (err) {
                console.error('插入区域数据失败:', err);
            } else {
                console.log(`插入区域: ${area.name}`);
            }
        });
    });
    insertArea.finalize();
    
    // 等待区域数据插入完成后插入维修项目数据
    setTimeout(() => {
        const insertItem = db.prepare('INSERT INTO repair_items (area_id, name, specification, unit, price, remark) VALUES (?, ?, ?, ?, ?, ?)');
        repairItems.forEach((item) => {
            insertItem.run(item.area_id, item.name, item.specification, item.unit, item.price, item.remark, function(err) {
                if (err) {
                    console.error('插入维修项目数据失败:', err);
                } else {
                    console.log(`插入维修项目: ${item.name}`);
                }
            });
        });
        insertItem.finalize();
        
        setTimeout(() => {
            console.log('数据初始化完成！');
            db.close();
        }, 1000);
    }, 500);
};

initData();